package com.skyz.base.util;

import android.app.Service;
import android.content.Context;
import android.os.Vibrator;

public class VibratorUtils {

    /**
     * @param context 上下文
     * @param ms      震动的时长，单位是毫秒
     * @return
     */
    public static Vibrator vibrate(Context context, long ms) {
        Vibrator vibrator = (Vibrator) context.getSystemService(Service.VIBRATOR_SERVICE);
        vibrator.vibrate(ms);
        return vibrator;
    }

    /**
     * @param context  上下文
     * @param pattern  自定义震动模式 。数组中数字的含义依次是[静止时长，震动时长，静止时长，震动时长。。。]时长的单位是毫秒
     * @param isRepeat 是否反复震动，如果是true，反复震动，如果是false，只震动一次
     * @return
     */
    public static Vibrator vibrate(Context context, long[] pattern, boolean isRepeat) {
        Vibrator vibrator = (Vibrator) context.getSystemService(Service.VIBRATOR_SERVICE);
        vibrator.vibrate(pattern, isRepeat ? 1 : -1);
        return vibrator;
    }

    /**
     * 关闭震动
     *
     * @param vibrator
     */
    public static void cancel(Vibrator vibrator) {
        vibrator.cancel();
    }
}
